﻿
var ConfigManager = 
{
    idTabsHandler : "",
    idColumnManager : "",
    idFilterManager : "",
    idGrid : "",
    stateSaved : false,

    applyChanges : function()
    {
        var xmlConfiguration;

        xmlConfiguration = "<Configuration>";
        xmlConfiguration += ColumnManager_GetXml(ConfigManager.idColumnManager);
        xmlConfiguration += FilterManager_GetXml(ConfigManager.idFilterManager);
        xmlConfiguration += "</Configuration>";
        
        document.body.style.cursor = "wait";        
        CustomGrid.UpdateConfiguration(ConfigManager.idGrid, xmlConfiguration, CustomGrid_RefreshCallBack, ConfigManager.idGrid);
    },
    
    
    // Esta función permite actualizar la interfaz de configuración de la grilla 
    // reflejando la configuaración actual de la grilla
    // Esto es necesario, por ejemplo, despues de cargar un filtro guardado anteriormente
    refresh : function()
    {
        CustomGrid.GetCurrentConfiguration(ConfigManager.idGrid, ConfigManager.refreshCallBack);
    },
    
    refreshCallBack : function(response)
    {
        var response;
        
        if (response.error) {
            alert(response.error);    
        }
        else {
            var doc = Common.stringtoXML(response.value);
            var response = Common.cleanXml(doc);
            var columnManager = ColumnManager_Instances[ConfigManager.idColumnManager];  
            var filterManager = FilterManager_Instances[ConfigManager.idFilterManager];

            if(columnManager) {
                var comlumnsNode = response.getElementsByTagName('Columns')[0];      
                columnManager.refresh(comlumnsNode);                  
            }
                    
            if(filterManager) {
                var mainFilterNode = response.getElementsByTagName('MainFilter')[0];     
                filterManager.refresh(mainFilterNode);       
            }

            var tabsHandler = TabsHandler_Instances[ConfigManager.idTabsHandler];
            tabsHandler.setTab(0);
        }
    }
}
